/* USER CODE BEGIN Header */
/**
  ******************************************************************************
  * File Name          : uwb.hpp
  * Description        : 
  ******************************************************************************
  * Function           :
  *
  ******************************************************************************
  * Author             : Zhiping Fu
  * Creation Date      : 2020年11月22日
  ******************************************************************************
  */
/* USER CODE END Header */

#ifndef __UWB_HPP
#define __UWB_HPP


#include "userlib/userlib.hpp"
#include "system/system.hpp"

#ifdef __cplusplus
extern "C" {
#endif

#define UWB_RX_LEN 20


void USART6_IRQHandler(void);
void DMA2_Stream1_IRQHandler(void);
#ifdef __cplusplus
}
#endif


#ifdef __cplusplus

using namespace std;

class UWB
{
public:
	UWB(){}
	UWB(USART_TypeDef * h,char * n) : huart(h),name(n){}
	~UWB(){}

	void uwb_Init(void);
	void uwb_Update(void);

	HAL_LockTypeDef LockRx;
	bool  RxFlag;		//接收标志位
	uint16_t   RxDataSize;
	uint8_t RxRawDat[UWB_RX_LEN];   //数据
	char RxDat[UWB_RX_LEN];

private:
	USART_TypeDef * huart;
	char *name;
	uint8_t RxSum;
	BIT32 temp;

	uint32_t  startTimer;			//计时器
	uint32_t  stopTimer;			//计时器
	uint32_t  executionTime_us;			//计时器

	uint32_t  startTimerLast;			//计时器
	uint32_t  cycleTime_us;

	//用户数据
	bool  Update;		//更新  --
	eSTA  Sta;			//状态  --
	eERR  Err;			//错误信息  --

	uwb_pos_msg uwbPos;

};



#endif




#endif


/************************ (C) COPYRIGHT Longmen Drone Team *****END OF FILE****/
